#pragma once

#include <list>

class CStation;

class CDevManager
{
public:    
    ~CDevManager(void);

    static CDevManager* instance();

    void addDownStation(CStation* station);

    void addUpStation(CStation* station);

    void setLocalStation(CStation* station);

    std::list<CStation*>& getUpStations(){ return m_UpStations; }

    std::list<CStation*>& getDownStations(){ return m_DownStations; }

    CStation& getLocalStation() { return *m_localStation; }

private:
    CDevManager(void);

    static CDevManager* s_DevManager;
    
    CStation* m_localStation;

    std::list<CStation*> m_UpStations;

    std::list<CStation*> m_DownStations;
};

